package com.campus.secondhand.service;

import com.campus.secondhand.common.Result;

/**
 * 验证码服务接口
 */
public interface VerificationCodeService {

    /**
     * 生成验证码并发送到手机
     * 
     * @param phone 手机号
     * @return 处理结果
     */
    Result<Void> generateAndSendCode(String phone);

    /**
     * 生成验证码并发送到手机
     * 
     * @param phone 手机号
     * @param type  验证码类型(register|reset)
     * @return 处理结果
     */
    Result<Void> generateAndSendCode(String phone, String type);

    /**
     * 验证手机验证码是否正确
     * 
     * @param phone 手机号
     * @param code  验证码
     * @return 是否验证成功
     */
    boolean verifyCode(String phone, String code);

    /**
     * 验证手机验证码是否正确
     * 
     * @param phone 手机号
     * @param code  验证码
     * @param type  验证码类型(register|reset)
     * @return 是否验证成功
     */
    boolean verifyCode(String phone, String code, String type);
}